package com.cunfang.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.cunfang.base.service.BaseService;
import com.cunfang.entity.Page;
import com.cunfang.entity.PageData;

@Service("com.cunfang.finance.sys.menu")
public class MenuService extends BaseService {

	/**
	 * 
	 * @throws Exception 
	 * @功能: 获取菜单
	 * @作者: rxj
	 * @日期: 2017年7月10日
	 */
	@SuppressWarnings("unchecked")
	public String get(PageData pd) throws Exception {
		if (!pd.containsKey("id")) {
			return this.outError("缺少参数id");
		}
		PageData dictPd = (PageData) this.getDao().findForObject(
				"MenuMapper.get", pd);
		return this.outPageData(dictPd);
	}
	
	/**
	 * 
	 * @throws Exception 
	 * @功能: 获取父级菜单
	 * @作者: rxj
	 * @日期: 2017年7月10日
	 */
	@SuppressWarnings("unchecked")
	public String getMenuFatherList(PageData pd) throws Exception {
		Page page = new Page();
		page.setCurrentPage(Integer.parseInt(pd.getStrings("currpage")));
		page.setShowCount(Integer.parseInt(pd.getStrings("count")));
		page.setPd(pd);
		List<PageData> menuPd = (List<PageData>) this.getDao().findForList(
				"MenuMapper.getMenuFatherList", page);
		return this.outPage(page, menuPd);
	}
	
	/**
	 * 
	 * @throws Exception 
	 * @功能: 菜单管理列表
	 * @作者: rxj
	 * @日期: 2017年7月10日
	 */
	@SuppressWarnings("unchecked")
	public String findMenuList(PageData pd) throws Exception {
		Page page = new Page();
		page.setCurrentPage(Integer.parseInt(pd.getStrings("currpage")));
		page.setShowCount(Integer.parseInt(pd.getStrings("count")));
		page.setPd(pd);
		List<PageData> list= (List<PageData>) this.getDao()
				.findForList("MenuMapper.findMenuList", page);
		return this.outPage(page, list);
	}
	
	/**新增菜单
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public String add(PageData pd) throws Exception {
		if (!pd.containsKey("menu_grade")) {
			return this.outError("缺少参数menu_grade");
		}
		if (!pd.containsKey("menu_name")) {
			return this.outError("缺少参数menu_name");
		}
		pd.put("status", "0");
		pd.put("del_flag", "0");
		Integer i = (Integer) this.getDao().save("MenuMapper.addMenuInfo", pd);
		if (i > 0) {
			return this.outString("success");
		}
		return this.outError("error");		
	}
	
	/**修改菜单
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public String update(PageData pd) throws Exception {
		if (!pd.containsKey("menu_grade")) {
			return this.outError("缺少参数menu_grade");
		}
		if (!pd.containsKey("menu_name")) {
			return this.outError("缺少参数menu_name");
		}
		Integer i = (Integer) this.getDao().update("MenuMapper.updateMenuInfo", pd);
		if (i > 0) {
			return this.outString("success");
		}
		return this.outError("error");		
	}
	
	/**删除菜单
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public String deleteMenu(PageData pd) throws Exception {	
		if (!pd.containsKey("id")) {
			return this.outError("缺少参数id");
		}
		Integer i = (Integer) this.getDao().delete("MenuMapper.deleteMenu", pd);
		if (i > 0) {
			return this.outString("success");
		}
		return this.outError("error");		
	}
	
}
